package jnpf.engine.assembly.prop;

import jnpf.engine.model.flowengine.shuntjson.childnode.TimeOutConfig;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Author:LoveMyOrange
 * @Description:
 * @Date:Created in 2022/4/12 19:54
 */
@Data
public class UserTaskAdvancedSettingDTO implements Serializable {
    /**
     * 前台按钮权限
     **/
    private Boolean hasAuditBtn;
    /**
     * 前台通过
     **/
    private String auditBtnText;
    /**
     * 前台按钮权限
     **/
    private Boolean hasRejectBtn;
    /**
     * 前台拒绝
     **/
    private String rejectBtnText;
    /**
     * 前台按钮权限
     **/
    private Boolean hasRevokeBtn;
    /**
     * 前台撤回
     **/
    private String revokeBtnText;
    /**
     * 前台按钮权限
     **/
    private Boolean hasTransferBtn;
    /**
     * 前台转办
     **/
    private String transferBtnText;

    /**
     * 委派
     */
    private Boolean hasInvokeBtn;
    private String invokeBtnText;
    /**
     * 终止
     */
    private Boolean hasTerminationBtn;
    private String terminationBtnText;
    /**
     * 暂存草稿
     */
//    private Boolean hasDraftBtn;
//    private String draftBtnText;

    /**
     * 会签加签
     */
    private Boolean hasMultiAddBtn;
    private String multiAddBtnText;

    /**
     * 会签减签
     */
    private Boolean hasMultiRemoveBtn;
    private String multiRemoveBtnText;

    /**
     * 抄送
     */
    private Boolean hasCopyBtn;
    private String copyBtnText;

    /**
     * 任意跳转
     */
    private Boolean hasJumpBtn;
    private String jumpBtnText;

    /**
     * 指定退回
     */
    private Boolean hasRollbackBtn;
    private String rollBackBtnText;

    /**
     * 驳回到发起人
     */
    private Boolean hasRollbackStartBtn;
    private String rollBackStartBtnText;

    /**
     * 驳回到上一步
     */
    private Boolean hasRollbackBeforeBtn;
    private String rollBackBeforeBtnText;

    /**
     * 前加签
     */
    private Boolean hasBeforeMultiBtn;
    private String beforeMultiBtnText;

    /**
     * 后加签
     */
    private Boolean hasAfterMultiBtn;
    private String afterMultiBtnText;

    /**
     * 汇总设置
     */
    private Boolean isSummary;
    /**
     * 汇总类型 0 汇总全部流转记录  1 汇总通过以及拒绝流转记录
     */
    private Integer summaryType;

    /**
     * 是否批量审批
     */
    private Boolean isBatchApproval = false;
    /**
     * 是否评论
     */
    private Boolean isComment = false;


    /**
     * 是否有签名
     **/
    private Boolean hasSign;
    /**
     * 驳回步骤 1.上一步骤 0.返回开始
     **/
    private String rejectStep;
    /**
     * 通知设置 1-站内信 2-邮箱 3-短信 4-钉钉 5-企业微信
     **/
    private List<String> messageType;

    /**
     * 跳过策略
     */
    private Integer skipStrategy;


    /**
     * 说明
     */
    private String description;

    /**
     * 超时策略
     */
    private TimeOutConfig timeOutConfig;


}
